#ifndef YVM_OPTION_H
#define YVM_OPTION_H

//--------------------------------------------------------------------------------
// denote the default threshold value of garbage collector. GC was started when
// the memory allocation was beyond this value.
// 表示垃圾收集器的默认阈值。 当内存分配超过此值时启动 GC。
//--------------------------------------------------------------------------------
#define YVM_GC_THRESHOLD_VALUE (1024 * 1024 * 10)

//--------------------------------------------------------------------------------
// show new spawning thread name 显示新的生成线程名称
//--------------------------------------------------------------------------------
#undef YVM_DEBUG_SHOW_THREAD_NAME

//--------------------------------------------------------------------------------
// show byte size of internal structures 显示内部结构的字节大小
//--------------------------------------------------------------------------------
#undef YVM_DEBUG_SHOW_SIZEOF_ALL_TYPE

//--------------------------------------------------------------------------------
// how executing bytecode and current class of method, method name and method
// descriptor
// 如何执行字节码和当前类的方法、方法名称和方法描述符
//--------------------------------------------------------------------------------
#undef YVM_DEBUG_SHOW_BYTECODE

//--------------------------------------------------------------------------------
// output *.class parsing result, which contains constant pool table, fields,
// methods, class access flag, interfaces, etc
// 输出*.class解析结果，包含常量池表、字段、方法、类访问标志、接口等
//--------------------------------------------------------------------------------
#undef YVM_DEBUG_CLASS_FILE
#ifdef YVM_DEBUG_CLASS_FILE
#define YVM_DEBUG_SHOW_VERSION
#define YVM_DEBUG_SHOW_CONSTANT_POOL_TABLE
#define YVM_DEBUG_SHOW_INTERFACE
#define YVM_DEBUG_SHOW_CLASS_FIELD
#define YVM_DEBUG_SHOW_CLASS_ACCESS_FLAGS
#define YVM_DEBUG_SHOW_CLASS_METHOD
#define YVM_DEBUG_SHOW_CLASS_ATTRIBUTE
#endif

//--------------------------------------------------------------------------------
// to mark a gc safe point
// 标记一个 gc 安全点
//--------------------------------------------------------------------------------
#define GC_SAFE_POINT

#endif  // !YVM_OPTION_H
